//
//  GTMFadeTruncatingLabel.h
//
//  Copyright 2012 Google Inc.
//
//  Licensed under the Apache License, Version 2.0 (the "License"); you may not
//  use this file except in compliance with the License.  You may obtain a copy
//  of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
//  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
//  License for the specific language governing permissions and limitations under
//  the License.
//

#import <UIKit/UIKit.h>

typedef enum {
  GTMFadeTruncatingTail = 0x1,
  GTMFadeTruncatingHead = 0x2,
  GTMFadeTruncatingHeadAndTail = GTMFadeTruncatingHead | GTMFadeTruncatingTail
} GTMFadeTruncatingMode;

@interface GTMFadeTruncatingLabel : UILabel

// Which side(s) to truncate.
@property(nonatomic, assign) GTMFadeTruncatingMode truncateMode;

// Returns a linear gradient mask suitable to use with CGContextClipToMask() to
// fade the ends of a rectangle the same way this class does it.
+ (UIImage*)getLinearGradient:(CGRect)rect
                     fadeHead:(BOOL)fadeHead
                     fadeTail:(BOOL)fadeTail;

@end
